home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / gfx / misc / CatMake124.lha / RexxTricks_3720.lha / rexxtricks / rexx / microdot / MD-View.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1994-08-28  |  5.9 KB  |  345 lines

  1. /* ARexx - Script für MicroDot */
  2.  
  3. /*
  4. ** $VER: MD-View.rexx V1.1 (28.8.94)
  5. ** ---------------------------------
  6. ** Das Script wird als Binäranzeiger in MicroDot eingebunden, es
  7. ** ermittelt den Typ der anzuzeigenden Datei und ruft ein passendes
  8. ** Anzeige-, Abspiel-, oder Bearbeitungsprogramm auf.
  9. **
  10. ** Eine genauere  Beschreibung und Hinweise zur Installation  entnehmen
  11. ** Sie bitte der Datei 'ZP-View.zprx.dok'.
  12. **
  13. **
  14. ** Autor:
  15. ** ------
  16. ** Jürgen Kohrmeyer       Tel. : +49 5402 5195
  17. ** Oststraße 2            EMail: j_kohrmeyer@wilam.north.de
  18. ** 49143 Bissendorf
  19. **
  20. ** E-Mail: J_Kohrmeyer@wilam.north.de
  21. */
  22.  
  23. /*******************************************
  24. ** Konfiguration
  25. *******************************************/
  26.  
  27. /* Name des Publicscreen */
  28.  
  29. screenname = 'MICRODOT'
  30.  
  31.  
  32.  
  33. /* Name der Datei für Temporäre Daten */
  34.  
  35. tempdatei = 'T:MD-Rexx-View.temp'
  36.  
  37.  
  38.  
  39. /* Name der Datei für Sounddaten */
  40. /* ACHTUNG: Die Datei wird nicht automatisch gelöscht! */
  41.  
  42. sounddatei = 'T:MD-Rexx-Sound.temp'
  43.  
  44.  
  45.  
  46. /* Das hier angegebene 'CON: Fenster' wird für die */
  47. /* Ein/Ausgabe von PGP benutzt. */
  48.  
  49. window  = 'CON:0/300/800/300/PGP/AUTO/CLOSE/SCREEN'||screenname
  50.  
  51.  
  52.  
  53. /*******************************************
  54. ** Beginn des Scripts
  55. *******************************************/
  56.  
  57. OPTIONS RESULTS
  58. PARSE ARG dateiname
  59.  
  60. IF dateiname = '' THEN
  61.    EXIT(10)
  62.  
  63. IF ~EXISTS(dateiname) THEN
  64.    EXIT(10)
  65.  
  66.  
  67.  
  68. /* rexxtricks.library öffnen */
  69.  
  70. IF ~SHOW('LIBRARIES','rexxtricks.library') THEN
  71.    IF ~ADDLIB('rexxtricks.library',0,-30,0) THEN
  72.       EXIT(10)
  73.  
  74.  
  75.  
  76. /* rexxsupport.library öffnen */
  77.  
  78. IF ~SHOW('LIBRARIES','rexxsupport.library') THEN
  79.    IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN
  80.       EXIT(10)
  81.  
  82.  
  83.  
  84. /* rexxreqtools.library öffnen */
  85.  
  86. IF ~SHOW(LIBRARIES,'rexxreqtools.library') THEN
  87.    IF ~ADDLIB('rexxreqtools.library',0,-30,0) THEN
  88.       EXIT(10)
  89.  
  90.  
  91.  
  92. /* ARexx-Port auf Shell einstellen */
  93.  
  94. ADDRESS COMMAND
  95.  
  96.  
  97.  
  98. /* Übergebene Datei verarbeiten */
  99.  
  100. CALL showfile dateiname
  101.  
  102.  
  103.  
  104. /* Tempdateien löschen, falls vorhanden */
  105.  
  106. IF EXISTS(tempdatei) THEN
  107.    'delete' tempdatei
  108.  
  109. IF EXISTS(tempdatei||'-1') THEN
  110.    'delete' tempdatei||'-1'
  111.  
  112.  
  113.  
  114. /* Script beenden */
  115.  
  116. EXIT(0)
  117.  
  118.  
  119.  
  120. /*******************************************
  121. ** Eine Datei anzeigen
  122. *******************************************/
  123.  
  124. showfile:
  125.    PARSE ARG file
  126.  
  127.    /* Dateityp feststellen */
  128.    typ = WHATIS(file)
  129.  
  130.    /* Unerlaubte zeichen aus dem Typ-String entfernen */
  131.    typ = TRANSLATE(typ,'__',' -')
  132.  
  133.    /* Passende Funktion aufrufen */
  134.    INTERPRET 'CALL' typ
  135. RETURN
  136.  
  137.  
  138.  
  139. /*******************************************
  140. ** Funktionen für die einzelnen Dateitypen
  141. *******************************************/
  142.  
  143. Text:
  144.    OPTIONS FAILAT 32
  145.  
  146.    /* 'CON: Fenster' als Standard Ein/Ausgabe öffnen */
  147.  
  148.    CALL CLOSE('STDOUT')
  149.    IF OPEN('STDOUT',window,'W') THEN DO
  150.       CALL CLOSE('STDIN')
  151.       CALL OPEN('STDIN','*','W')
  152.       CALL PRAGMA('*','STDOUT')
  153.       CALL PRAGMA('*','STDIN')
  154.  
  155.       /* Nachricht entschlüsseln oder Public-Key bearbeiten */
  156.  
  157.       'pgp' file '-o' tempdatei
  158.  
  159.       IF rc = 31 THEN DO
  160.          CALL rtezrequest('Sie besitzen nicht den passenden Key'||'0A'x||'um diese Nachricht zu entschlüsseln!','Abbrechen','PGP-Request','rtez_flags = ezreqf_centertext')
  161.          RETURN
  162.       END
  163.  
  164.       OPTIONS FAILAT 10
  165.  
  166.       /* Die normale oder die entschlüsselte Datei anzeigen */
  167.  
  168.       IF EXISTS(tempdatei) THEN
  169.          'multiview' tempdatei 'PUBSCREEN' screenname
  170.       ELSE
  171.          'multiview' file 'PUBSCREEN' screenname
  172.    END
  173. RETURN
  174.  
  175. Asm:
  176. Doc:
  177. FTXT:
  178. Guide:
  179. Incld_Asm:
  180. Include_C:
  181. MakeFile:
  182. PS:
  183. ReadMe:
  184. Rexx:
  185. Script:
  186. Source_C:
  187. Src_Ada:
  188. Tex:
  189.    'multiview' file 'PUBSCREEN' screenname
  190. RETURN
  191.  
  192. 8SVX:
  193. Wave:
  194.    'multiview' file 'PUBSCREEN' screenname
  195. RETURN
  196.  
  197. BMP:
  198. BMP_1Bit:
  199. BMP_4Bit:
  200. BMP_8Bit:
  201.    'multiview' file 'SCREEN'
  202. RETURN
  203.  
  204. PCX:
  205.    'rename' file file||'.PCX'
  206.    'multiview' file||'.PCX' 'SCREEN'
  207.    'rename' file||'.PCX' file
  208. RETURN
  209.  
  210. ANIM:
  211. GIF:
  212. ILBM:
  213. ILBM24:
  214. JPEG:
  215.    CALL PRAGMA('S',10240)
  216.    'VT_EGS' file
  217. RETURN
  218.  
  219. Icon:
  220. Icn_Disk:
  221. Icn_Drw:
  222. Icn_Grbg:
  223. Icn_Pjct:
  224. Icn_Tool:
  225.    oldscreen = SETDEFAULTPUBSCREEN(screenname)
  226.    oldmodes  = SETPUBSCREENMODES('SP')
  227.  
  228.    'rename' file file||'.info'
  229.    'viewicon' file||'.info'
  230.    'rename' file||'.info' file
  231.  
  232.    oldmodes  = SETPUBSCREENMODES(oldmodes)
  233.    oldscreen = SETDEFAULTPUBSCREEN(oldscreen)
  234. RETURN
  235.  
  236. Exe:
  237. PP_Exe:
  238. PP30_Exe:
  239. PP40_Exe:
  240. Pure_Exe:
  241.    file '>CON:////MD-View-Console/CLOSE/AUTO/WAIT/SCREEN'||screenname
  242. RETURN
  243.  
  244. Med_MOD:
  245. PP_MEdMOD:
  246. PP_ST_Mod:
  247. ST_Mod:
  248.    'copy' file sounddatei
  249.    'player NOREQUEST SCREEN' screenname 'PLAY' sounddatei
  250. RETURN
  251.  
  252. Imp_Data:
  253. ImpLS:
  254. ImpLS_Lib:
  255. PP_Data:
  256. PP_Doc:
  257. PPLibHead:
  258. PPLoadSeg:
  259.    'xfddecrunch' file tempdatei
  260.    'copy' tempdatei tempdatei||'-1'
  261.    'delete' tempdatei
  262.    CALL showfile tempdatei||'-1'
  263. RETURN
  264.  
  265. TIFF:
  266. TIFF_Gray:
  267.    oldscreen = SETDEFAULTPUBSCREEN(screenname)
  268.    oldmodes  = SETPUBSCREENMODES('SP')
  269.  
  270.    oldstack = PRAGMA('S',10240)
  271.    'tiffview' file
  272.  
  273.    oldmodes  = SETPUBSCREENMODES(oldmodes)
  274.    oldscreen = SETDEFAULTPUBSCREEN(oldscreen)
  275. RETURN
  276.  
  277. Lib:
  278.    'version >'||tempdatei file 'FILE FULL'
  279.    'multiview' tempdatei 'PUBSCREEN' screenname
  280. RETURN
  281.  
  282. GZip:
  283.    'gzip >'||tempdatei '-l' file
  284.    'multiview' tempdatei 'PUBSCREEN' screenname
  285. RETURN
  286.  
  287. LHArc:
  288.    'lha >'||tempdatei 'v' file
  289.    'multiview' tempdatei 'PUBSCREEN' screenname
  290. RETURN
  291.  
  292. Shrink:
  293.    'shrink >'||tempdatei 'va' file
  294.    'multiview' tempdatei 'PUBSCREEN' screenname
  295. RETURN
  296.  
  297. ZIP:
  298.    'unzip >'||tempdatei '-v' file
  299.    'multiview' tempdatei 'PUBSCREEN' screenname
  300. RETURN
  301.  
  302. Zoo:
  303.    'zoo >'||tempdatei 'v' file
  304.    'multiview' tempdatei 'PUBSCREEN' screenname
  305. RETURN
  306.  
  307. ABasic:
  308. BAD_IFF:
  309. Caligari:
  310. CDAF:
  311. DMS:
  312. EPU_NUKE:
  313. EPU_XPK:
  314. EPUed:
  315. IFF:
  316. GFA:
  317. Imagine:
  318. Manx_DBG:
  319. Manx_DMP:
  320. MaxiPlan:
  321. Mnx3.6Lib:
  322. Mnx3.6Obj:
  323. Mnx5.0Lib:
  324. Mnx5.0Obj:
  325. MEd_Song:
  326. Object:
  327. PPM_V1.8:
  328. PPM_V2.1:
  329. PREFS:
  330. SFX:
  331. SMUS:
  332. STSong:
  333. SUNRASTER:
  334. TARGA:
  335. TERM:
  336. Tex_DVI:
  337. Tex_Font:
  338. Unknown:
  339. Unscanned:
  340. Vista_DEM:
  341. Warp:
  342. Zoom:
  343.    CALL rtezrequest('Für Dateien des Typs' '"'||typ||'"'||'0A'x||'ist kein Anzeigeprogramm konfiguriert!','Abbrechen','MD-View-Request','rtez_flags = ezreqf_centertext')
  344. RETURN
  345.